/** ****************************************************************************
 * @file 	comm_factory.cpp
 * @author 	mojinpan
 * @copyright(c) 2018-2020 mojinpan. All rights reserved.
 * @brief 	通讯工厂
 *
 * @version 	V1.0
 * @date 	2025-06-20
 * @details
 * 1.
 *******************************************************************************/
#include "comm/comm_factory.h"

#include <tbox/base/log.h>
#include <tbox/base/json.hpp>
#include <tbox/util/json.h>
#include <tbox/util/string.h>
#include <tbox/terminal/terminal_nodes.h>
#include <tbox/terminal/helper.h>

#include "comm/uart.h"

namespace comm_adapter
{
    Comm *createUart(const std::string &name, tbox::main::Context &ctx, Comm::Parent &parent, tbox::main::Module *&module)
    {
        auto comm = new Uart(name, ctx, parent);
        module = static_cast<tbox::main::Module *>(comm);
        return comm;
    }

    // 通讯工厂类构造函数，初始化协议映射
    CommFactory::CommFactory()
    {
        CommFactory_[COMM_TYPE_UART] = createUart;
        // 根据需要添加其他协议的创建函数
    }

    // 获取协议映射
    const CommFactory::CommMap &CommFactory::getCommMapping() const
    {
        return CommFactory_;
    }
}
/*********************************END OF FILE**********************************/
